System and method for controlling a networked display

ABSTRACT

Methods and systems for controlling a networked display via a client device are provided. The client device and the networked display are connected by a network. A session is initiated between the client device and the networked display, and a remote user interface is transmitted from the networked display to the client device. Interactivity with the remote user interface is detected at the client device, and input data is transmitted from the client device to the networked display based on the interactivity with the remote user interface. The input data is interpreted at the networked display so as to cause a change in a state of an application being executed by the networked display. And the remote user interface is updated based on the changed state of the application executed by the networked display.

CLAIM OF PRIORITY

This application claims priority as a continuation of U.S. applicationSer. No. 12/894,569, filed Sep. 30, 2010, entitled “System and Methodfor Controlling a Networked Display,” the disclosure of which isincorporated by reference herein.

BACKGROUND

1. Field of the Invention

The present invention relates to methods and systems for providingremote control commands via HTTP requests.

2. Description of the Related Art

Televisions and displays are today utilized to render and enable usersto interface with a variety of content. Televisions are often connectedto various devices such as media players, set-top boxes, consolesystems, and the like, in order to enable rendering of various types ofcontent. The types of content which may be rendered on a television ordisplay may include broadcast video and audio, prerecorded video andaudio, games, internet content, and various other types of content.

It is in this context that embodiments of the invention arise.

SUMMARY

Embodiments of the present invention provide methods and systems forpresenting advertisements based on user interactivity with a web page.Several inventive embodiments of the present invention are describedbelow.

In one embodiment, a method is provided for controlling a networkeddisplay via a client device, the client device and the networked displaybeing connected by a network. According to the method, a session isinitiated between the client device and the networked display, thesession being defined by two-way communication between the client deviceand the networked display. A remote user interface is transmitted fromthe networked display to the client device. Interactivity with theremote user interface is detected at the client device. And input datais transmitted from the client device to the networked display based onthe interactivity with the remote user interface. The input data isinterpreted at the networked display so as to cause a change in a stateof an application being executed by the networked display. And theremote user interface is updated based on the changed state of theapplication executed by the networked display.

In one embodiment, a method for controlling a networked display via aclient device is provided, the client device and the networked displaybeing connected by a network. According to the method, an application isexecuted on the networked display, the application having an associatedremote control page. A two-way communication link is established betweenthe networked display and the client device. The remote control page istransmitted from the networked display to the client device, and theremote control page is rendered on the client device. Interactivity withthe rendered remote control page is detected at the client device, andinput data is transmitted to the networked display based on the detectedinteractivity, so as to effect a change in a state of the executingapplication on the networked display.

In one embodiment, a system for enabling remote control of a networkeddisplay via a client device is provided. The system includes a networkeddisplay, the networked display configured to execute an application, theapplication having an associated remote control page. The system furtherincludes a client device, the client device being connected to thenetworked display via a two-way communication link. The client devicereceives and renders the remote control page from the networked display,and the client device is further configured to detect interactivity withthe rendered remote control page and transmit input data to thenetworked display based on the detected interactivity, so as to effect achange in a state of the executing application on the networked display.

Other aspects of the invention will become apparent from the followingdetailed description, taken in conjunction with the accompanyingdrawings, illustrating by way of example the principles of theinvention.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention may best be understood by reference to the followingdescription taken in conjunction with the accompanying drawings inwhich:

FIG. 1 a system for enabling a user to provide input to a networkeddisplay via a client device, in accordance with an embodiment of theinvention.

FIG. 2 illustrates various operations performed by a networked displayand a client device, in accordance with an embodiment of the invention.

FIG. 3A illustrates a diagram showing a procedure for pairing a clientdevice with a networked display, in accordance with an embodiment of theinvention.

FIG. 3B illustrates an exemplary pairing input page, in accordance withan embodiment of the invention.

FIG. 4 illustrates a diagram showing an example of a dynamic remote userinterface as applied to an application running on a networked display,in accordance with an embodiment of the invention.

FIG. 5 illustrates an exemplary remote user interface, in accordancewith an embodiment of the invention.

FIG. 6 illustrates a remote user interface page, in accordance with anembodiment of the invention.

DETAILED DESCRIPTION

A modern connected television (TV) or display is capable of connectingto a network such as the Internet to send and receive data. Suchconnectivity enables access to a rich diversity of content which isavailable over the Internet, beyond that which is available throughnormal television programming sources, such as cable and satellitetelevision providers. Connected TVs may include various applicationswhich are configured to execute on the television and make contentavailable to a viewer using the television as an interface device.Examples of applications which may be executed on a connected televisionare described in U.S. provisional patent application No. 61/320,685,filed Apr. 2, 2010, entitled “METHODS AND SYSTEMS FOR DISPLAY DEVICEWIDGET ACCESS AND DEVICE MANAGEMENT,” the disclosure of which is hereinincorporated by reference in its entirety for all purposes.

However, while the rich content features which are available throughconnected TVs continues to grow, conventional remote control devices arenot designed to assist the user in utilizing these new features ofconnected televisions. Thus, many remote control devices are ill-suitedfor enabling the user to navigate, provide input, and otherwise interactwith applications on a connected television.

One solution to the above-described deficiencies of conventional remotecontrol devices is to configure a portable device, such as a smartphone,personal digital assistant (PDA), tablet computer, or other type ofhandheld device, to be used as a remote control for the connected TV.Many such devices provide rich environments for development ofapplications to provide input data to a television. However, developinga native application for a specific portable device has severalshortcomings

First, the application must be written specifically for each device,which can be difficult and time-consuming With limited resources it mayonly be possible to target some of the multitude of available devices.Additionally, native applications must also typically go through anapproval process before they are allowed to be installed on the device.This introduces delays in the process of bringing an application tomarket, and also means that applications cannot be quickly and easilyupdated, as such updates must again go through the approval process.Furthermore, once approved, an application may be difficult to findamongst a plethora of other applications which are all featured in thesame application repository (e.g. in an application store or other typeof repository which makes the applications available for installation onthe device).

In view of these difficulties, the following embodiments describesystems and methods for enabling control of a networked display via aclient device. According to embodiments of the invention, a small webserver is implemented by the networked display that redirects todevice-specific HTML pages based on the type of client device. If nodevice-specific page is available, then a generic one is provided. Byapplying such an approach as described herein, immediate support isprovided for all smartphones that have a built in browser. Furthermoreit is possible to serve device-optimized HTML that targets a specificdevice, as requests are redirected in real-time based on the device'sID. Also, it is easier to update and deploy new functionality or addspecific device support directly from external servers, and the openHTTP remote control protocol can be leveraged on other types ofapplications, such as other web pages, instant messaging applications,etc.

It will be obvious, however, to one skilled in the art, that the presentinvention may be practiced without some or all of these specificdetails. In other instances, well known process operations have not beendescribed in detail in order not to unnecessarily obscure the presentinvention.

With reference to FIG. 1, a system for enabling a user to provide inputto a connected or networked display via a client device is shown, inaccordance with an embodiment of the invention. A networked display 10may be any of various kinds of displays, such as a television, LCD,monitor, projector, or other kind of display which is capable ofreceiving and sending data over a network such as the Internet. Thenetworked display 10 includes various components and functionality,including a processor 12 and memory 14 for executing applications,performing operations, storing data, etc. The networked display 10includes a graphical user interface (GUI) 16 according to which a usermay access various functions and settings of the display 10.Additionally, the networked display 10 operates a server 18, so as toenable a client device to be utilized to provide remote input, as isdescribed in further detail below.

With continued reference to FIG. 1, a client device 20 is operated by auser 30. In various embodiments of the invention, the client device 20may be any of various kinds of portable handheld devices, including asmartphone, personal digital assistant (pda), tablet computer, or anyother type of portable handheld device which may be configured toprovide remote control functionality in accordance with embodimentsdescribed herein. The client device 20 includes a processor 22 andmemory 24 for executing program instructions, performing variousoperations, storing data, etc. The client device 20 also includes abrowser 26 for accessing content via a network, such as an in-home localarea network (LAN) or the Internet. The client device 20 also includesan interface 28, which is utilized by the user 30 to provide input tothe client device 20. In various embodiments, the interface 28 mayinclude any of various kinds of interface technologies, such as atouchscreen, joystick, trackpad, trackball, buttons, directional pad,keys, motion detection devices, etc.

As shown in the illustrated embodiment, the client device 20 and thenetworked display 10 are connected to a router 32, which in turn isconnected to the Internet 34. It will be understood by those skilled inthe art that this is merely one possible network configuration whichenables network connectivity between the networked display 10 and theclient device 20 and resources accessible via the Internet. It iscontemplated that in other embodiments, any of various other types ofnetwork configurations and devices may be employed to enablecommunication between the networked display 10 and the client device 20and Internet resources.

According to one embodiment of the invention, in order to utilize theclient device 20 to provide input data to the networked display, thebrowser 26 is activated on the client device 20. The browser 26 may bean Internet browser application, or any other type of browserapplication which enables access to networked resources. Utilizing thebrowser 26, the user 30 enters or otherwise navigates to a URL of theserver 18 of the networked display 10 (such as a hostname or IP addressassigned to the server 18). In one embodiment, the URL or IP address maybe stored as a bookmark so that the user 30 may easily navigate to it.The browser 26 may access the server 18 by executing HTTP requestsutilizing the server's assigned URL. In response, the server 18 sends orredirects to a device-specific HTML page, which is received by theclient device 20 and rendered by the browser 26. This device-specificHTML page provides a remote user interface for providing input to thenetworked display 10.

By way of example, the remote user interface may include variousfeatures such as selectable regions or buttons, which when selected,cause the client device 20 to send input data to the networked display10. The input data may be utilized for various purposes related to thenetworked display 10, such as navigating within or indicating selectionof items in menus displayed on the networked display 10, providing textinput, maneuvering an object such as a pointer, navigating within anapplication, etc.

In one embodiment, the sending of input data may occur via HTTP protocoltransmissions, such as HTTP GET requests, wherein information is passedin the headers. In this manner, various events such as keydown, keyup,or other keypress events can be communicated to the networked display10. Information passed in the headers may include various kinds ofinformation such as repeat intervals, counts, and parameters likeacceleration and/or direction (with respect to detected gestures, asexplained below).

With continued reference to FIG. 1, a server 36 is shown, the server 36communicating with the networked display 10 via the network 34. In oneembodiment, the aforementioned device-specific HTML page which providesthe remote user interface is provided by a remote UI module 38 of theserver 36 to the networked display 10. The remote UI module 38 retrievesvarious device-specific HTML pages from a remote UI storage 40. Thedevice-specific HTML page may be downloaded from the server 36 to thenetworked display 10 in advance and stored on the networked display 10,so as to be easily locally retrieved by the server 18 of the networkeddisplay 10 when necessary. The device-specific HTML page may also beretrieved from the server 36 at the time the client device 20 initiatescommunications with the server 18 of the networked display 20 via theURL of the server 18. If no device-specific HTML page is available, thena generic HTML page may be provided.

In one embodiment, when a new client device type is identified by theserver 18, then the appropriate device-specific HTML page or group ofpages is retrieved from the remote UI module 38. These pages are thenstored on the networked display 10 for future reference, so that whenthe same device type is encountered again, the appropriatedevice-specific HTML page may be retrieved locally at the networkeddisplay 10 and served more quickly to the client device 20. When anothernew device is detected, then appropriate device-specific HTML pages forthat new device are retrieved from the remote UI module 38 at that time.Additionally, the server 18 may be configured to periodically check forupdates to its stored device-specific HTML pages.

In one embodiment, the networked display 10 is configured to retrievecontent from a content module 42 of the server 36. The content module 42is in turn linked to a content storage 44, which stores content that maybe served to the networked display 10. In various embodiments, thenetworked display may be configured to execute one or more applicationswhich are configured to retrieve content from the content module 42. Itwill be understood by those skilled in the art that the networkeddisplay 10 may be configured to execute any kind of application that maybe rendered and interfaced with via the networked display 10. Furtherexamples of applications executed by the networked display 10 andmethods for providing the same are disclosed in U.S. provisional patentapplication No. 61/320,685, filed Apr. 2, 2010, entitled “METHODS ANDSYSTEMS FOR DISPLAY DEVICE WIDGET ACCESS AND DEVICE MANAGEMENT,” thedisclosure of which is incorporated herein by reference.

FIG. 2 illustrates various operations performed by a networked display10 and a client device 20, in accordance with an embodiment of theinvention. At operation 50, the client device 20 initiates anauthentication procedure with the networked display 10. Theauthentication may be initiated by, for example, navigating to a URL ofthe networked display 10. At corresponding operation 60, the networkeddisplay 10 authenticates the client device 20 for use as a remote devicefor providing input data to the networked display 10. The authenticationprocedure may involve the submission and verification of identificationdata such as a predetermined password, hardware identification data, orother types of identification data which are useful for verifying theidentification of the client device 20. The authentication procedure mayalso establish secure communication between the client device 20 and thenetworked display 10 according to any of various secure protocols.

In one embodiment, the authentication procedure defines the initiationof a session between the client device 20 and the networked display 10.The session may be defined by two-way communication between the clientdevice 20 and the networked display 10. In one embodiment, a timer maybe executed at the networked display 10, the timer being configured totrigger termination of the session when a predetermined amount of timehas elapsed without any activity.

In another embodiment, the networked display 10 and client device 20 maybe configured to automatically establish a connection when the clientdevice 20 is detected in the vicinity of the networked display 10. Inone embodiment, the proximity of the client device 20 might be detectedbased on connection of the client device 20 the same local network asthe networked display 10. In other embodiments, other methods forestablishing proximity of the client device 20 to the networked display10 may be utilized.

At operation 62, the networked display 10 determines the device type ofthe client device 20, and determines an appropriate remote userinterface for that device type. The remote user interfaces for differenttypes of devices may vary based on factors such as screen size andresolution, available interface technologies (such as touchscreen,buttons, trackball, touchpad, joystick, etc.), and other variances infeatures and properties of different types of devices. A remote userinterface may include any of various features which are useful forenabling the user to provide commands and input to the networked display10. For example, the remote user interface may include a number ofbuttons or other features for navigation, selection, or otherspecialized functions which are useful for interfacing with contentdisplayed on the networked display 10.

As used herein, content displayed on the networked display 10 shall bebroadly construed to include any of various items which may be renderedon the networked display 10, including, but not limited to, video,images, menus, adjustment parameters, settings, applications, or anyother kind of content which may be displayed on the networked display10. Various exemplary remote user interfaces are described furtherbelow.

At operation 64, the networked display 10 sends the appropriate remoteuser interface to the client device 20, which receives and renders theremote user interface at operation 52 by displaying it on the clientdevice 20. At operation 54, the client device 20 detects gesture inputor other types of input which indicate the user's interaction with theremote user interface displayed on the client device 20. Gesture inputwill be understood by those skilled in the art to include any of variouskinds of detected actions on a touch-sensitive device (such as atouchscreen), including, but not limited to, the following actions:tapping or touching the touch-sensitive device with one or more fingers,touching and moving (or swiping) one or more fingers across thetouch-sensitive device, tracing a path on the touch-sensitive devicesuch as that of a shape, symbol, letter, number, or other element whichmay or may not be displayed as part of the remote user interface, etc.

Thus, by way of example, in one embodiment, detection of gestures mayinclude detection of the user touching or tapping buttons of thedisplayed remote user interface. In response to detection of theselected button, the remote user interface is configured to send inputdata (operation 56) from the client device 20 to the networked display10, the input data being indicative of the selected button of the remoteuser interface. Selection of a button of the remote user interface ismerely one example of an event according to which input data is sent tothe networked display 10. It will be apparent to those skilled in theart that in various embodiments, any type of interactive event with theremote user interface which may be detected on the client device 20 maybe configured to trigger sending of input data (operation 56) to thenetworked display 10.

At operation 66, the networked display 10 receives the input data fromthe client device 20. The input data is then processed to effect theperformance of a function on the networked display 10. For example, inone embodiment, the input data may indicate commands for navigation orselection within a menu or application rendered on the networked display10. In other embodiments, the input data may indicate other types ofinput relevant to content rendered on the networked display, such astext or numerical input, directional input, symbolic input, etc.

In some embodiments, wherein an application is being executed by thenetworked display 10, the received input may be processed so as to causea change in the state of the application (operation 68). The changedstate of the application may be reflected in the rendering of theapplication on the networked display 10.

In some embodiments, the remote user interface may be updated (operation58). The updating of the interface is configured to provide anappropriate user interface to the user for the content which isdisplayed on the networked display 10. For example, in one embodiment, auser may be presented with an interface which enables directionalnavigation and selection. A user might use such an interface to navigateto a certain item and select the item. However, following selection ofthe item, the user may be required to enter text input. The remote userinterface may thus be updated so as to provide the user with aninterface which enables text input, such as, for example, a keyboardand/or number pad layout on the touchscreen display of the client device20.

A text entry box might also be provided as part of the remote userinterface so that the user may see text on the client device 20 as it isbeing entered without having to look at the display in order to verifythat text is being entered correctly. Or in another embodiment, theremote user interface may be updated such that a region is provided onthe client device for the user may draw letters, numbers, symbols, orother gestures which are detected via the touchscreen of the clientdevice 20.

By enabling updating of the remote user interface which is provided onthe client device 20, embodiments of the invention provide for a dynamicinterface which may be changed and adapted so as to provide appropriateinterface mechanisms which facilitate ease of operation with regard tothe current status of content displayed on the networked display. Theseinterface mechanisms may vary extensively depending upon the nature ofthe content or application shown on the networked display 10 for whichthe interface is intended to be utilized. Embodiments of the inventioncontemplate that any of various types of interfaces may be providedsequentially via updates of the remote user interface. The particularinterface which is provided to the client device 20 at any given time isdetermined based on the current status of the content or applicationwhich is displayed on the networked display 10. Accordingly, it ispossible to have any of various sequences of interfaces provided to theclient device 20 depending upon the state of the content or applicationdisplayed on the networked display 10, which may be affected by theuser's input (provided by way of one of the interfaces).

Additionally, it will be noted by those skilled in the art that in someembodiments of the invention, the updates provided to the remote userinterface may be in total, such that an update presents an entirely newinterface to the user. Examples include switching between various typesof interfaces, such as a navigational interface, a text entry interface,a trackpad-type interface, etc.

In other embodiments, the updates provided to the remote user interfacemay be partial, wherein one or more portions of the remote userinterface are updated. For example, a region of an interface might bedesignated to display certain information which can be updated. Or abutton or other selectable icon might be updated to indicate a change instatus (e.g. on or off status). The button or icon could be changed inappearance, such as by changing colors, highlighting, or replacementwith a different icon. Selected buttons or icons might be called to theattention of the user by highlighting them in some fashion, such as bycausing them to flash or be displayed more prominently than others basedon color, shading, relative brightness, font size/type, etc. This couldaid the user in determining which buttons of an interface are especiallyappropriate for providing input or otherwise interacting with content oran application shown on the networked display 10.

The specific examples of partial updating of the remote user interfaceas described herein are provided by way of example only and not by wayof limitation. It will be appreciated by those skilled in the art thatin other embodiments of the invention, any of various types of partialupdates to the remote user interface may be provided so as to providethe user with an interface which is relevant to content or anapplication displayed on the networked display 10.

With continued reference to FIG. 2, remote user interface pages 72 aresupplied to the client device as needed. The remote user interface pages72 may be stored locally at the networked display 10 or on a locallyattached storage device, or they may be stored remotely and madeaccessible via network. The remote user interface pages 72 includespecific pages which are tailored to suit particular client devicetypes. As shown, certain user interface pages 74 are suitable for adevice type A, whereas certain user interface pages 76 are suitable fora device type B. In the illustrated embodiment, the client device 20 isof device type A, and therefore remote user interface pages are suppliedfrom the corresponding user interface pages 74 which are appropriate fordevice type A

With reference to FIG. 3A, a diagram illustrating a procedure forpairing a client device 20 with a networked display 10 is shown, inaccordance with an embodiment of the invention. As shown, the clientdevice 20 and networked display 10 are connected via a network 80.Additionally, a content server 82 is also accessible via the network 80.The content server is in turn linked to remote interface pages 84.

In order to use the client device 20 for providing remote userinterfaces for interfacing with the networked display 10, the clientdevice 20 is first paired with the networked display 10. As the clientdevice 20 cannot yet be used as a functional remote interface prior topairing, the user may utilize a standard remote control 86 for providinginput to the networked display 10. As shown, the user navigates to asettings menu so as to enable pairing of a client device. A particularauthentication code is provided to the user.

As shown at reference numeral 88, the user utilizes a browserapplication on the client device 20 to navigate to a URL or IP addressof the networked display 10. In response, the networked display serves apairing input page at operation 98. The pairing input page is displayedon the client device 20 (reference numeral 90) for the user to providethe proper authentication code. Upon entry of the proper authenticationcode, the client device 20 is authenticated (operation 92) and a remoteinterface page is received from the networked display 10 (operation 94).The remote interface page is displayed on the client device 20(reference numeral 96). Correspondingly at the networked display 10, atoperation 100, the entered authentication code is confirmed, and atoperation 102 a device-specific remote interface page which isappropriate for the device type of the client device 20 is retrieved andsent to the client device 20. The device-specific remote interface pagemay be retrieved from the remote interface pages 84 if it is not alreadylocally stored at the networked display 10.

After the client device 20 has been paired with the networked display10, the next time the user utilizes the browser on the client device 20to navigate to the URL or IP address of the networked display 10, thenetworked display 10 authenticates the client device (operation 104) andserves a remote interface page to the client device 20.

With reference to FIG. 3B, an exemplary pairing input page is shown, asdescribed with reference to operation 98 of FIG. 3A, in accordance withan embodiment of the invention. When the user operates the client device20 and navigates to the URL or IP address of the networked display 10and the client device 20 is not recognized by the networked display 10,then a pairing input page such as that shown at FIG. 3B is sent to theclient device and rendered to the user. As shown, the user is requestedto enter a name for the client device, as well as an authenticationcode. In one embodiment, the authentication code is provided when theuser operates the networked display (e.g. utilizing a conventionalremote control) so as to navigate to a “Pair a Device” section withinthe “System Settings” of a Profile Widget, which is an application onthe networked display 10. After the user provides a unique name and theproper authentication code, then the client device 20 is authenticatedfor use with the networked display 10.

With reference to FIG. 4, a diagram illustrating an example of a dynamicremote user interface as applied to an application running on anetworked display is shown, in accordance with an embodiment of theinvention. As shown in the illustrated embodiment, a client device 20connects to the networked display 10 via a network 80. Additionally, acontent server 126 is accessible via the network 80. The networkeddisplay 110 includes a display server 110, which executes a number ofmodules and/or applications. It will be understood that the displayserver 110 is embodied on system resources included in the networkeddisplay 10, such as one or more processors and one or more types ofmemory (not shown).

As shown by reference 128, a user may utilize a browser or otherapplication of the client device 20 to navigate to a URL or IP addressof the display server 110 of the networked display 10. In oneembodiment, in order to streamline the procedure for connecting to thedisplay server 110, the navigation to the display server's URL or IPaddress may be accomplished by utilizing a shortcut or bookmark or othersimplified interface, such as button 129 as shown on the client device20. Upon receiving a request from the client device 20, the displayserver 110 operates an authentication module 112 which performs anauthentication procedure to verify that the client device 20 has beenapproved for use with the display server 110.

The authentication module 112 may utilize any of various kinds ofauthentication technologies in order to determine if the client device20 has been approved for use with the display server 110. These mayinvolve the use of various kinds of information, such as addresses orcodes associated with specific hardware of the client device 20, such asa MAC address, predetermined authorization codes, user ID, etc. Theauthentication module 112 may also establish secure communicationbetween the client device 20 and the display server 110 via any ofvarious secure communication protocols, such as, for example, thoseutilizing public/private key encryption.

In the illustrated embodiment, the display server 110 includes a numberof widgets, which are applications executed by the networked display 10.As shown, the display server 110 includes a widget A 114, a widget B118, and a widget C 122. Each of the widgets may have one or more remoteinterface pages associated with it. These associated remote interfacepages provide a remote user interface to the user when rendered on theclient device 20 which is specifically tailored to the widget for whichthey are associated. Thus, they enable the user to interface with andprovide input to the widgets via an interface which is better adaptedfor the specific widget which is being executed and rendered on thenetworked display 10 at that given time. In the illustrated embodiment,the widget A 114 has an associated remote interface A1 116, widget B 118has an associated remote interface B1 120, and widget C 122 has anassociated remote interface C1 124.

With continued reference to FIG. 4, when the client device 20 has beenauthenticated and established as a device which may be used with thedisplay server 110, the display server 110 provides a remote interfacepage to the client device 20, as shown at reference 130. In theillustrated embodiment, the networked display 10 is shown displaying amenu of widgets 109, including corresponding icons for theaforementioned widget A 114, widget B 118, and widget C 122.Accordingly, the client device 20 is provided with a remote interfacepage which includes corresponding selectable icons for the widgets, asshown at reference 130.

By way of example, at operation 132, a user selects the selectable icon131 which corresponds to widget A 114. This causes input data indicatingselection of widget A 114 to be sent from the client device 20 to thedisplay server 110. The display server 110 therefore activates widget A114, rendering it on the networked display 10. At operation 134, theremote interface A1 116 is sent from the display server 110 to theclient device 130. The remote interface A1 116 is thus rendered on theclient device 20, as shown at reference 136, thereby providing the userwith an interface which is specifically tailored for operation withwidget A 114.

Continuing by way of example, at operation 138, the user may indicateselection of an item or some other action while operating widget A. Thiscauses operation 140, wherein remote interface A2 117 is sent from thedisplay server 110 to the client device 20. The client device 20 rendersthe remote interface A2, as shown at reference 142.

It will be appreciated by those skilled in the art that the foregoingdescription is provided as merely an example in which an interfaceprovided to the user changes dynamically depending upon the widget beingoperated and the user's input and interaction with the widget. The useris not required to utilize the same interface for each widget, as wouldbe the case with a conventional remote control device, but canexperience a different interface customized for each of the widgets, andeven different interfaces while interacting with one particular widget.In other embodiments of the invention, any particular sequence ofoperations related to the initiation and operation of widgets or otherapplications, or any other type of content which may be displayed on thenetworked display 10, may be configured so as to provide a dynamicallychanging remote user interface utilizing the principles describedherein.

With reference to FIG. 5, an exemplary remote user interface is shown,in accordance with an embodiment of the invention. The remote userinterface in the illustrated embodiment is intended to be rendered on atouchscreen display of a client device, and includes various selectableicons, or buttons. A dedicated property button 150 provides easy accessto a particular property or content destination, such as a particularwebpage or a particular widget or application. For example, in oneembodiment, the dedicated property button 150 is configured so thatpressing it causes the networked display to launch a web browser andnavigate to a predetermined web page, such as the Yahoo! home page. Orin another embodiment, pressing the dedicated property button 150 maycause an specific application or widget to launch on the networkeddisplay, such as a Yahoo! application which provides access to Yahoo!content.

A keyboard button 152 provides access to a keyboard interface so as toenable the user to enter text input. An information button 154 providesaccess to help information or other information which may be related toparticular content displayed on the networked display. A back button 158returns a user to a previous destination, such as a previous web page toone currently being viewed, or a previous point within a menu tree, orsome other previous navigational destination within an application, amenu, or some other content shown on the networked display. A homebutton 156 provides instant access to a home menu or home destinationfrom which the user may access various options available on thenetworked display.

Navigational buttons 160, 162, 164, and 166 enable the user to navigatewithin menus or other types of content. In some embodiments, thenavigational buttons may also be configured to perform specificfunctions in particular contexts, such as controlling a level of anadjustable attribute such as volume or various audio or video displayproperties, changing channels, adjusting playback within video contentsuch as fast-forwarding or rewinding, etc. A selection button 176enables a user to indicate selection of an item such as a menu item orsome other selectable item shown on the networked display. The selectionbutton 176 could also be configured to perform other functions dependingupon the context, such as initiating playback or pausing of videocontent.

Auxiliary buttons 168, 170, 172, and 174 may be configured to provideadditional functionality. For example, in one embodiment, the auxiliarybuttons 168, 170, 172, and 174 may be user-assignable, so as to enablethe user to configure them as shortcuts to favorite applications orother types of content accessible via the networked display. In otherembodiments, the auxiliary buttons 168, 170, 172, and 174 may havedifferent functions based on the context of content displayed on thenetworked display. For example, an application or other content may beconfigured to display selection choices which correspond to theauxiliary buttons 168, 170, 172, and 174.

In one embodiment, the auxiliary buttons 168, 170, 172, and 174 may havedifferent colors, shadings, shapes or other unique identifyingcharacteristics. An application or other content configured to displayselection choices corresponding to the auxiliary buttons 168, 170, 172,and 174 may be configured to display the same colors, shadings, shapesor other unique identifying characteristics on the networked display soas to communicate to the user that pressing the auxiliary buttons 168,170, 172, or 174 will perform a particular function.

With reference to FIG. 6, a remote user interface page is shown, inaccordance with an embodiment of the invention. A dedicated propertybutton 180 provides easy access to a particular property or contentdestination, such as a particular webpage or a particular widget orapplication. A home button 182 provides instant access to a home menu orhome destination from which the user may access various optionsavailable on the networked display. A back button 184 returns a user toa previous destination, such as a previous web page to one currentlybeing viewed, or a previous point within a menu tree, or some otherprevious navigational destination within an application, a menu, or someother content shown on the networked display.

Navigational buttons 188, 190, 192, and 194 enable the user to navigatewithin menus or other types of content. In some embodiments, thenavigational buttons may also be configured to perform specificfunctions in particular contexts, as discussed above. A selection button196 enables a user to indicate selection of an item such as a menu itemor some other selectable item shown on the networked display. Theselection button 176 could also be configured to perform other functionsdepending upon the context.

Auxiliary buttons 198, 200, 202, and 204 may be configured to provideadditional functionality. For example, the auxiliary buttons 198, 200,202, and 204 may be user-assignable, or they may have differentfunctions based on the context of content displayed on the networkeddisplay. By way of example, an application or other content may beconfigured to display selection choices which correspond to theauxiliary buttons 198, 200, 202, and 204. In one embodiment, theauxiliary buttons 198, 200, 202, and 204 may have different colors,shadings, shapes or other unique identifying characteristics.

The illustrated embodiment of FIG. 6 differs from that of FIG. 5 interms of design and layout, and may be designed to suit the touchscreendisplay of a different client device than that of FIG. 5. The foregoingexamples of remote interface pages have been provided by way of exampleonly, and not by way of limitation. In other embodiments,device-specific remote user interface pages may have any design suitablefor any client device which may be utilized to render and enable use ofremote interface pages in accordance with embodiments of the inventiondescribed herein.

The determination of the appropriate remote user interface for theclient device may be based on the device type of the client device aswell as other factors. Various possible remote user interfacesapplicable to certain exemplary contexts have been discussed herein.However, it will be understood by those skilled in the art that in otherembodiments of the invention, other remote user interfaces may beprovided for similar or other types of contexts. In other embodiments,the appropriate remote user interface for the specific device type maybe based on not only the specific device, but also the type of contentbeing actively rendered on the networked display. For example, thecontent may be a menu, application, video content, photo content,internet content, text, graphics, audio content, etc.

For example, in one embodiment, the remote user interface includesvarious buttons applicable to television viewing, such as channelup/down buttons, numerical keys, display settings, volume controls, orany other types of buttons which may be applicable to televisionviewing. In another embodiment, the user interface is adapted for usewith one or more applications which are executed by or otherwiserendered by the networked display. For example, the remote userinterface may include a home button for navigating to a home interface,which may, for example, include a menu of available applications on thenetworked display. The remote user interface may also include variousother types of navigational and other input features for enablinginteraction and submission of input for applications on the networkeddisplay.

While foregoing embodiments of the remote user interface have generallybeen described with reference to various types of buttons, it will beappreciated by those skilled in the art that in other embodiments any ofvarious other kinds of features may be included in a remote userinterface. For example, the remote user interface may include a movableslider, a rotatable feature, or otherwise apparently movable feature forenabling adjustment of a parameter in an intuitive manner. It is to beunderstood that movement of a feature occurs via animation of thefeature so as to convey a sense of movement to the user, as the remoteuser interface is rendered on a display of the client device, inresponse to the user's interaction with the feature, such as viagestures detected on a touchscreen display of the client device.However, movement of the feature by the user also causes input data tobe communicated from the client device to the networked displayindicative of the movement of the feature by the user.

In other embodiments wherein a touchscreen display of the client deviceis utilized, the remote user interface may be configured to detect andrespond to certain types of gestures on the touchscreen display. Forexample, the user might trace a symbol or letter indicative of aparticular desired action. For example, tracing the letter “P” couldindicate play, tracing the letter “S” could indicate stop, etc. withrespect to playback of content on the networked display. Tracingparticular letters or symbols in other contexts could provide othertypes of functionality, such as with particular applications or widgetsrendered on the networked display.

In another example, swiping in a particular direction could affectplayback, such as swiping to the right causing fast-forward of contentplayback, whereas swiping to the left may cause rewind of contentplayback. Multiple sequential swipes in a particular direction mayindicate increasing speed of fast-forward or rewind. Similarly, swipingin particular directions such as up or down, and left or right, could beutilized for changing channels, affecting volume, or adjusting someother parameter related to the rendering of content on the networkeddisplay.

In still other embodiments, detection of gestures may be related toparticular features rendered on the touchscreen display of the clientdevice. For example, the user may be required to execute gestures over aparticular feature or region of the remote user interface so as to causean action associated with the gesture. The foregoing examples ofgestures and their interpretation and utilization are provided by way ofexample only, and not by way of limitation. In various other embodimentsof the invention, it will be appreciated that any of various other kindsof gestures may be detected and interpreted for use with a remote userinterface as defined herein.

As demonstrated by the foregoing, embodiments of the invention providefor methods and systems to enable use of a remote interface page whichhas been transmitted from a networked display to a client device. Byenabling a remote interface page to be rendered on the client device viaa browser on the client device, no separate application is required tobe installed on the client device. This means that costly applicationapproval procedures are avoided, and that updates to the remoteinterface page may be provided in a timely fashion without going throughsuch application approval processes.

Embodiments of the invention as herein described may utilize relationaldatabase systems as are known in the art. Examples of such databasesystems include MySQL, Oracle, and Access. Various operations asdescribed above may be effected by performance of an operation via arelational database management system. Such database systems may beembodied in one or more server computers, which may be configured aspart of a network of computers.

Embodiments of the present invention may be practiced with variouscomputer system configurations including hand-held devices,microprocessor systems, microprocessor-based or programmable consumerelectronics, minicomputers, mainframe computers and the like. Theinvention can also be practiced in distributed computing environmentswhere tasks are performed by remote processing devices that are linkedthrough a wire-based or wireless network.

With the above embodiments in mind, it should be understood that theinvention can employ various computer-implemented operations involvingdata stored in computer systems. These operations are those requiringphysical manipulation of physical quantities. Usually, though notnecessarily, these quantities take the form of electrical or magneticsignals capable of being stored, transferred, combined, compared andotherwise manipulated.

Any of the operations described herein that form part of the inventionare useful machine operations. The invention also relates to a device oran apparatus for performing these operations. The apparatus may bespecially constructed for the required purpose, such as a specialpurpose computer. When defined as a special purpose computer, thecomputer can also perform other processing, program execution orroutines that are not part of the special purpose, while still beingcapable of operating for the special purpose. Alternatively, theoperations may be processed by a general purpose computer selectivelyactivated or configured by one or more computer programs stored in thecomputer memory, cache, or obtained over a network. When data isobtained over a network the data may be processed by other computers onthe network, e.g. a cloud of computing resources.

The embodiments of the present invention can also be defined as amachine that transforms data from one state to another state. The datamay represent an article, that can be represented as an electronicsignal and electronically manipulate data. The transformed data can, insome cases, be visually depicted on a display, representing the physicalobject that results from the transformation of data. The transformeddata can be saved to storage generally, or in particular formats thatenable the construction or depiction of a physical and tangible object.In some embodiments, the manipulation can be performed by a processor.In such an example, the processor thus transforms the data from onething to another. Still further, the methods can be processed by one ormore machines or processors that can be connected over a network. Eachmachine can transform data from one state or thing to another, and canalso process data, save data to storage, transmit data over a network,display the result, or communicate the result to another machine.

The invention can also be embodied as computer readable code on acomputer readable medium. The computer readable medium may be any datastorage device that can store data, which can thereafter be read by acomputer system. Examples of the computer readable medium include harddrives, network attached storage (NAS), read-only memory, random-accessmemory, FLASH based memory, CD-ROMs, CD-Rs, CD-RWs, DVDs, magnetictapes, and other optical and non-optical data storage devices. Thecomputer readable medium can also be distributed over a network coupledcomputer systems so that the computer readable code may be stored andexecuted in a distributed fashion.

Although the method operations were described in a specific order, itshould be understood that other housekeeping operations may be performedin between operations, or operations may be adjusted so that they occurat slightly different times, or may be distributed in a system whichallows the occurrence of the processing operations at various intervalsassociated with the processing, as long as the processing of the overlayoperations are performed in the desired way.

Although the foregoing invention has been described in some detail forpurposes of clarity of understanding, it will be apparent that certainchanges and modifications can be practiced within the scope of theappended claims. Accordingly, the present embodiments are to beconsidered as illustrative and not restrictive, and the invention is notto be limited to the details given herein, but may be modified withinthe scope and equivalents of the appended claims.

What is claimed is:
 1. A method for controlling a networked display viaa client device, the client device and the networked display beingconnected by a network, the method comprising: rendering broadcastcontent on the networked display; executing an application on thenetworked display, the application configured to render applicationcontent that is additional to and coordinated to the broadcast contentthat is being rendered on the networked display; initiating a sessionbetween the client device and a local server, the local server beingintegrated as a part of the networked display, the session defined bytwo-way communication between the client device and the local server;retrieving, by the local server, a user interface that is configured forexecution of the application and for the client device; transmitting theuser interface from the local server to the client device for renderingat the client device; receiving, by the local server, input data fromthe client device based on detected interactivity with the rendered userinterface; and interpreting the input data at the networked display soas to cause a change in a state of the application being executed by thenetworked display.
 2. The method of claim 1, wherein initiating thesession includes accessing an address or resource locator assigned tothe networked display; wherein the accessing of the address or resourcelocator occurs via a browser application installed on the client device.3. The method of claim 1, wherein the user interface includes selectableitems, the selectable items being configured to cause transmission ofthe input data to the networked display when selected.
 4. The method ofclaim 3, wherein the selectable items include one or more of anavigational button, selection indicator, menu access, value adjustment,number, letter.
 5. The method of claim 1, wherein the interactive inputincludes gesture interactivity detected on a touchscreen of the clientdevice, the gesture interactivity including one or more of touching thetouchscreen, swiping a finger across the touchscreen, tracing apredefined path on the touchscreen, drawing a letter, number, or symbolon the touchscreen.
 6. The method of claim 1, wherein the user interfaceis selected based on content being actively displayed on the networkeddisplay.
 7. The method of claim 1, further comprising updating the userinterface based on the changed state of the application executed by thenetworked display, wherein updating the user interface produces a changein a portion of the user interface.
 8. The method of claim 1, furthercomprising updating the user interface based on the changed state of theapplication executed by the networked display, wherein updating the userinterface produces a change in the entirety of the user interface. 9.The method of claim 1, further comprising: transmitting an applicationselection interface from the networked display to the client device, theapplication selection interface configured to provide access to aplurality of applications configured for execution on the networkeddisplay; and in response to receiving a selection via the applicationselection interface at the client device, launching the application onthe networked display.
 10. The method of claim 1, wherein the networkeddisplay is a television, and wherein the user interface is configured toprovide control of one or more of channel selection or volume.
 11. Amethod for controlling a networked display via a client device, theclient device and the networked display being connected by a network,the method comprising: establishing a two-way communication link betweenthe networked display and the client device, the networked display beingconfigured to render broadcast content; transmitting an applicationselection page from the networked display to the client device forrendering on the client device, the application selection pageconfigured to provide access to a plurality of applications configuredfor execution on the networked display; in response to receiving aselection via the rendered application selection page at the clientdevice, executing and rendering an application on the networked display,the executing application configured to render application content thatis additional to and coordinated to the broadcast content, theapplication having an associated control page; transmitting the controlpage from the networked display to the client device for rendering onthe client device, the control page being selected based on the clientdevice; and receiving input data at the networked display based ondetected interactivity with the rendered control page, so as to effect achange in a state of the executing application on the networked display.12. The method of claim 11, wherein the application has multipleassociated control pages; and wherein the control page transmitted tothe client device is selected from the multiple associated control pagesbased on the state of the executing application.
 13. The method of claim11, wherein the establishing the two-way communication link, therendering of the control page, the detecting interactivity, and thetransmitting input data are performed via a browser executing on theclient device.
 14. The method of claim 13, wherein the browser is ageneral purpose application which has not been specifically designed tofacilitate rendering of the control page.
 15. A system for enablingremote control of a networked display via a client device, the systemcomprising: a networked display configured to render broadcast content,the networked display configured to execute an application, theapplication configured to render application content that is additionalto and coordinated to the broadcast content, the application having anassociated control page; a client device, the client device beingconnected to the networked display via a two-way communication link, theclient device receiving and rendering the control page from thenetworked display, the client device further configured to detectinteractivity with the rendered control page and transmit input data tothe networked display based on the detected interactivity, so as toeffect a change in a state of the executing application on the networkeddisplay.
 16. The system of claim 15, wherein the application hasmultiple associated control pages; and wherein the control pagetransmitted to the client device is selected from the multipleassociated control pages based on the state of the executingapplication.
 17. The system of claim 15, wherein the client deviceincludes a browser, the browser being utilized to establish the two-waycommunication link, receive and render the control page, detectinteractivity, and transmit the input data.
 18. The system of claim 17,wherein the browser is a general purpose application which has not beenspecifically designed to facilitate rendering of the control page. 19.The system of claim 15, wherein the networked display is configured totransmit an application selection interface from the networked displayto the client device, the application selection interface configured toprovide access to a plurality of applications configured for executionon the networked display; wherein receipt of a selection via theapplication selection interface at the client device triggers launchingof the application on the networked display.